PLDs provide circuit and system designers the ability to design and test a circuit or system in a relatively short amount of time. As the name suggests, the relatively short turnaround time owes to the programmability of PLDs. Typically, a PLD receives configuration data from an external device or host and uses the configuration data to configure or program PLD functionality.
Conventional techniques for programming PLDs, however, have some shortcomings. For example, the PLD may fail to receive or process in a timely manner the information that the external device or host provides. As a result, the external device or host may stall, leading to less overall efficiency or to configuration problems. A need therefore exists for an improved way of configuring PLDs so as to avoid the stalling problem that conventional techniques experience.